home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_100
/
127_01
/
_read.me
< prev
next >
Wrap
Text File
|
1985-03-09
|
5KB
|
135 lines
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
INSTRUCTIONS FOR COMPILING AND LINKING RAP -- August 1983
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Those wishing to use RAP should obtain a copy of the RAP Manual,
a document of approximately 50 pages. Copies of the Manual may
be obtained from Eric Martz, 48 Hunter's Hill Circle, Amherst MA
01002 for $10 postpaid within the USA, $20 overseas. Please
prepay any such orders!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FILES:
The RAP source code consists of the following modules:
RAP.H (#included in all RAP*.C sources)
RAP.C
RAP1.C
RAP2.C
RAP3.C
RAP4.C
RAPIO.C
The arrangement of functions in these modules is largely
arbitrary so a catalog of the functions is in RAP.H.
Unfortunately, the catalog is obsolete (needs revising). (Does
anyone know of a program which will list the functions in a
source code file and also all the functions called by each?)
In addition to the RAP source files, the following general
purpose files are included:
BDSCIO+.H: Additons to standard BDSCIO.H
DEFF.CRL: Renamed compilation of MARTZLIB.C
DEFF2.CRL, DEFF3.CRL: Renamed DEFF.CRL, DEFF2.CRL from BDS
FIO1.H, FIO2.H, FIO3.H: K&R standard fopen, fclose for BDS
L2.COM: Mark of the Unicorn BDSC linker
LINK.SUB: Submit file to link RAP
MARTZLIB.C: General purpose function library (source on
another disk, CRL provided as DEFF.CRL, see below)
COMPILATION:
Compilation must be by the BDSC compiler. We are presently
using version 1.5.
RAP is too big. (A needed next step is to implement
overlaying so there is more room for growth.)
You will find that there is a lot of debugging source code, the
compilation of which is made conditional upon having #defined DEBUG.
You will find that #define DEBUG is commented out in RAP.H. If
you #define DEBUG, RAP may not have enough stack space left in
memory to operate in your system.
In order to make RAP.COM fit into memory, it is necessary to
use the -e option to fix the origin of external variables. Thus,
to compile RAP.C, for example, use the command:
cc1 rap -e 9800
The "-e 9800" must be used for compilation of all source files
RAP*.C, but is not needed for MARTZLIB.C. The program text code
presently ends around hex 93EE. Hence, setting the externals at
hex 9800 leaves some room to grow. My system has 64K of memory.
CP/M and MicroShell (which I HIGHLY recommend, available from New
Generation Systems, 2153 Golf Course Dr, Reston VA 22091) each
need about 8K, so my TPA ends at C006 (49157 decimal). This
leaves me 7F8 (~2000 decimal) bytes of stack space, which seems
to be enough.
LINKING:
Also in order to conserve space, it is necessary to use the
Mark of the Unicorn L2 linker for BDSC, which produces a smaller
.COM file than does CLINK. Since this is available from the BDSC
User's Group, I have included L2.COM. The L2.COM included has two
modifications. First, it automatically scans three default
libraries (DEFF.CRL, DEFF2.CRL, and DEFF3.CRL). Second, the
statistics summary is augmented. (Source code and documentation
for L2 may be obtained from the BDSC User's Group, POB 287, Yates
Center, KS 66783.) L2 saves 1344 bytes of jump tables! (RAP
includes 133 functions.)
In addition to the RAP source modules listed above, RAP
requires some library functions in my personal library. The
entire library has been made available as MARTZLIB.C. Although
only a few of the functions in MARTZLIB are used by RAP, I hope
you may find some others to be useful in your own programs. The
source code for MARTZLIB is on another disk, but the CRL form is
provided as DEFF.CRL as explained next.
In order to link RAP, I rename the libraries as follows:
Old Name New Name
-----------------------
MARTZLIB.CRL DEFF.CRL
DEFF.CRL DEFF2.CRL
DEFF2.CRL DEFF3.CRL
It is then possible to link RAP with this command (also provided as
RAPLINK.SUB):
l2 rap rap1 rap2 -l rap3 rap4 rapread rapio
For reasons detailed in FIO3.H, I have renamed some of the file
opening and closing functions provided with BDSC. For this
reason, as well as the possibility that I've forgotten some other
non-standard-ism, I have included DEFF2.CRL and DEFF3.CRL, as
well as DEFF.CRL in the forms which I know to work with RAP.
DEFF2.CRL and DEFF3.CRL, of course, were written by Leor Zolman
of BD Software.
MANUAL:
The files for the RAP manual are not included. It was felt
that most users would much rather have a xerox of the manual
itself, since the files are set up for printing on an obscure
multi-font dot matrix printer (the Sanders 12/7). Also, printing
RAP commands with RAP sometimes gets extraordinarily complicated.
FEEDBACK:
I hope that some recipients of RAP will make significant
enhancements and that they will be kind enough to send them to
me, Eric Martz, Department of Microbiology, University of
Massachusetts, Amherst MA 01003 USA.
l2 rap rap1 rap2 -l rap3 rap4 rapread rapio